// 路由文件
// 存放路由信息
const express = require("express");
const fs = require("fs");
// const {IncomingForm} = require("formidable");
let router = express.Router();
const myformFn = require("./utils/myformidable");
// const form = new IncomingForm({
//     uploadDir:__dirname+"/static/img",
//     keepExtensions:true
// })


router.get("/", (req, res) => {
    res.redirect("/addNewsShow")
})

//加载页面的路由
router.get("/addNewsShow", (req, res) => {
    // res.send("<h1>我是添加页面</h1>")
    res.sendFile(__dirname + '/views/addnews.html')
})

router.get("/listShow", (req, res) => {
    // res.send("<h1>列表页面</h1>")
    res.sendFile(__dirname + '/views/index.html')

})

router.get("/detailShow", (req, res) => {
    // res.send("<h1>详细页面</h1>")
    res.sendFile(__dirname + '/views/detail.html')

})


// post请求的路由地址
router.post("/addnews", async (req, res) => {
    try{
        let result = await myformFn(req);
        console.log(result);
        let oldArr = JSON.parse( fs.readFileSync("./data/news.json"));
        result.id = oldArr.length+1;
        oldArr.push(result);
        fs.writeFileSync("./data/news.json",JSON.stringify(oldArr));
        res.json({
            info: "返还成功",
            status:1
        })
    }catch(err){
        res.json({
            info: "添加失败",
            status:0,
            err
        })
    }
   
    // form.parse(req,(err,filds,file)=>{
    //     if(err){
    //         return console.log(err);
    //     }
    //     console.log(filds,file);
    //     res.json({
    //         info:"返还成功"
    //     })
    // })
})



// 获取新闻列表
router.get("/getnews",(req,res)=>{
    console.log(req.query);
    let {p} = req.query;
    if(!p){
        p = 1;  // 第一次进入list页面没有p参数 ，那么 p 默认给第一页
    }
    let perpage = 3; // 每页显示多少条数据


   let data =  JSON.parse( fs.readFileSync("./data/news.json"));
    // 计算总的页码数量 
    // Math.ceil 向上取整 比如  1.1  ---》 2    1.6---》2 
   let count = Math.ceil( data.length/perpage);
   let newsData = data.splice((p-1)*perpage,perpage);

   res.json({newsData,count});
})


// 根据id获取详细内容 
router.get("/getDetail",(req,res)=>{
    let {id} = req.query;
    let data = JSON.parse( fs.readFileSync("./data/news.json"));
    let detailData = data.find(item=>item.id==id);
    res.json(detailData);
})



module.exports = router;

